public interface IChatMessage {
    public void Display();
}
public class Music : IChatMessage {
    public int MessageId = 0;
    public int MusicId{ get; }
    public string Name{ get; }
    public string Singer{ get; }
    public string Label{ get; }
    public Music(int messageId, Music music) {
        MessageId = messageId;
        MusicId = music.MusicId;
        Name = music.Name;
        Singer = music.Singer;
        Label = music.Label;
    }
    public Music(int messageId, int musicId, string name, string singer, string label) {
        MessageId = messageId;
        MusicId = musicId;
        Name = name;
        Singer = singer;
        Label = label;
    }
    public void Display() {
        Console.WriteLine("Music");
        Console.WriteLine($"    Name : {Name} Singer : {Singer} Label : {Label}");
    }
}

public class Content : IChatMessage {
    public int MessageId = 0;
    public string Data{ get; }
    public Content(int messageId, string data) {
        MessageId = messageId;
        Data = data;
    }
    public void Display() {
        Console.WriteLine("Content");
        Console.WriteLine($"    Text : {Data}");
    }
}

public class Picture : IChatMessage {
    public int MessageId;
    public string Stream{ get; }
    public Picture(int messageId, string stream) {
        MessageId = messageId;
        Stream = stream; 
    }
    public void Display() {
        Console.WriteLine("Picture");
        Console.WriteLine($"    Picture : {Stream}");
    }
}

